55 research outputs found
Efficient Logging in Non-Volatile Memory by Exploiting Coherency Protocols
Non-volatile memory (NVM) technologies such as PCM, ReRAM and STT-RAM allow
processors to directly write values to persistent storage at speeds that are
significantly faster than previous durable media such as hard drives or SSDs.
Many applications of NVM are constructed on a logging subsystem, which enables
operations to appear to execute atomically and facilitates recovery from
failures. Writes to NVM, however, pass through a processor's memory system,
which can delay and reorder them and can impair the correctness and cost of
logging algorithms.
Reordering arises because of out-of-order execution in a CPU and the
inter-processor cache coherence protocol. By carefully considering the
properties of these reorderings, this paper develops a logging protocol that
requires only one round trip to non-volatile memory while avoiding expensive
computations. We show how to extend the logging protocol to building a
persistent set (hash map) that also requires only a single round trip to
non-volatile memory for insertion, updating, or deletion
Approximating minimum-power edge-multicovers
Given a graph with edge costs, the {\em power} of a node is themaximum cost
of an edge incident to it, and the power of a graph is the sum of the powers of
its nodes. Motivated by applications in wireless networks, we consider the
following fundamental problem in wireless network design. Given a graph
with edge costs and degree bounds , the {\sf
Minimum-Power Edge-Multi-Cover} ({\sf MPEMC}) problem is to find a
minimum-power subgraph of such that the degree of every node in
is at least . We give two approximation algorithms for {\sf MPEMC}, with
ratios and , where is the maximum
degree bound. This improves the previous ratios and , and
implies ratios for the {\sf Minimum-Power -Outconnected
Subgraph} and for the {\sf Minimum-Power
-Connected Subgraph} problems; the latter is the currently best known ratio
for the min-cost version of the problem
Fine-Grain Checkpointing with In-Cache-Line Logging
Non-Volatile Memory offers the possibility of implementing high-performance,
durable data structures. However, achieving performance comparable to
well-designed data structures in non-persistent (transient) memory is
difficult, primarily because of the cost of ensuring the order in which memory
writes reach NVM. Often, this requires flushing data to NVM and waiting a full
memory round-trip time.
In this paper, we introduce two new techniques: Fine-Grained Checkpointing,
which ensures a consistent, quickly recoverable data structure in NVM after a
system failure, and In-Cache-Line Logging, an undo-logging technique that
enables recovery of earlier state without requiring cache-line flushes in the
normal case. We implemented these techniques in the Masstree data structure,
making it persistent and demonstrating the ease of applying them to a highly
optimized system and their low (5.9-15.4\%) runtime overhead cost.Comment: In 2019 Architectural Support for Programming Languages and Operating
Systems (ASPLOS 19), April 13, 2019, Providence, RI, US
The Teleportation Design Pattern for Hardware Transactional Memory
We identify a design pattern for concurrent data structures, called teleportation, that uses best- effort hardware transactional memory to speed up certain kinds of legacy concurrent data struc- tures. Teleportation unifies and explains several existing data structure designs, and it serves as the basis for novel approaches to reducing the memory traffic associated with fine-grained locking, and with hazard pointer management for memory reclamation
Object-Oriented Recovery for Non-volatile Memory
New non-volatile memory (NVM) technologies enable direct, durable storage of data in an application's heap. Durable, randomly accessible memory facilitates the construction of applications that do not lose data at system shutdown or power failure. Existing NVM programming frameworks provide mechanisms to consistently capture a running application's state. They do not, however, fully support object-oriented languages or ensure that the persistent heap is consistent with the environment when the application is restarted. In this paper, we propose a new NVM language extension and runtime system that supports object-oriented NVM programming and avoids the pitfalls of prior approaches. At the heart of our technique is \emph{object reconstruction}, which transparently restores and reconstructs a persistent object's state during program restart. It is implemented in NVMReconstruction, a Clang/LLVM extension and runtime library that provides: (i) transient fields in persistent objects, (ii) support for virtual functions and function pointers, (iii) direct representation of persistent pointers as virtual addresses, and (iv) type-specific reconstruction of a persistent object during program restart. In addition, NVMReconstruction supports updating an application's code, even if this causes objects to expand, by providing object migration. NVMReconstruction also can compact the persistent heap to reduce fragmentation. In experiments, we demonstrate the versatility and usability of object reconstruction and its low runtime performance cost
The Inherent Cost of Remembering Consistently
Non-volatile memory (NVM) promises fast, byte-addressable and durable storage, with raw access latencies in the same order of magnitude as DRAM. But in order to take advantage of the durability of NVM, programmers need to design persistent objects which maintain consistent state across system crashes and restarts. Concurrent implementations of persistent objects typically make heavy use of expensive persistent fence instructions to order NVM accesses, thus negating some of the performance benefits of NVM. This raises the question of the minimal number of persistent fence instructions required to implement a persistent object. We answer this question in the deterministic lock-free case by providing lower and upper bounds on the required number of fence instructions. We obtain our upper bound by presenting a new universal construction that implements durably any object using at most one persistent fence per update operation invoked. Our lower bound states that in the worst case, each process needs to issue at least one persistent fence per update operation invoked
Induction of G1 and G2/M cell cycle arrests by the dietary compound 3,3'-diindolylmethane in HT-29 human colon cancer cells
<p>Abstract</p> <p>Background</p> <p>3,3'-Diindolylmethane (DIM), an indole derivative produced in the stomach after the consumption of broccoli and other cruciferous vegetables, has been demonstrated to exert anti-cancer effects in both <it>in vivo </it>and <it>in vitro </it>models. We have previously determined that DIM (0 – 30 μmol/L) inhibited the growth of HT-29 human colon cancer cells in a concentration-dependent fashion. In this study, we evaluated the effects of DIM on cell cycle progression in HT-29 cells.</p> <p>Methods</p> <p>HT-29 cells were cultured with various concentrations of DIM (0 – 30 μmol/L) and the DNA was stained with propidium iodide, followed by flow cytometric analysis. [<sup>3</sup>H]Thymidine incorporation assays, Western blot analyses, immunoprecipitation and <it>in vitro </it>kinase assays for cyclin-dependent kinase (CDK) and cell division cycle (CDC)2 were conducted.</p> <p>Results</p> <p>The percentages of cells in the G1 and G2/M phases were dose-dependently increased and the percentages of cells in S phase were reduced within 12 h in DIM-treated cells. DIM also reduced DNA synthesis in a dose-dependent fashion. DIM markedly reduced CDK2 activity and the levels of phosphorylated retinoblastoma proteins (Rb) and E2F-1, and also increased the levels of hypophosphorylated Rb. DIM reduced the protein levels of cyclin A, D1, and CDK4. DIM also increased the protein levels of CDK inhibitors, p21<sup>CIP1/WAF1 </sup>and p27<sup>KIPI</sup>. In addition, DIM reduced the activity of CDC2 and the levels of CDC25C phosphatase and cyclin B1.</p> <p>Conclusion</p> <p>Here, we have demonstrated that DIM induces G1 and G2/M phase cell cycle arrest in HT-29 cells, and this effect may be mediated by reduced CDK activity.</p
- …